package com.thread.executor;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class CachedThreadPool {

	public static void main(String[] args) {
		// Executor在javaSE5及以后是启动任务的优选方法，替代Thread
		// CachedThreadPool：会创建与所需数量相同的线程，然后在它回收旧线程时停止创建新线程，因此是Executor的首选。
		ExecutorService exec = Executors.newCachedThreadPool();
		for (int i = 0; i < 5; i++) {
			exec.execute(new LiftOff());
		}
		// 对shutdown()方法的调用可以防止新任务被提交给这个Executor，当前线程将继续运行在shutdown()被调用之前提交的所有任务
		exec.shutdown();
		System.out.println("结束");
	}

}
